1. Technical Field
The present invention relates in general to the field of data processing systems. Particularly, the present invention relates to a method for storing and restoring data within a data processing system.
2. Description of the Related Art
To protect a data file it is necessary to make at least one copy, which is stored on a separate storage medium. For important data usually several identical copies of a data file are made. The copies are simultaneously stored and distributed on separate storage media. It is also possible that the additional copies are created in a second step by creating copies from the first copy. Only a first copy is used to restore the data file normally. The other copies are invisible and a user cannot easily access to those copies. However, if the first copy or its storage medium is corrupted or unavailable, one of the other copies may be used to restore the data file. It is important to note that the data is typically but not mandatory stored on sequential storage media.
A first example of a conventional method for storing and restoring a data file is shown in FIG. 6 and FIG. 7, respectively.
The store performance is shown in FIG. 6 as a schematic representation. In FIG. 6 several identical copies of the data file 40 are simultaneously stored on separate and independent storage media 41, 42, 43 and 44, respectively. The data file 40 is written on storage media 41, 42, 43 and 44 via data channels 51, 52, 53 and 54, respectively. The copies on the storage media 41, 42, 43 and 44 are identical with the data file 40.
FIG. 7 shows the according schematic representation of a conventional restore performance of the data file 40. One of the identical copies on the storage media 41, 42, 43 and 44 is used to restore the data file 40. In this example the copy on the third storage medium 43 restores the data file 40. The copy on the storage medium 43 is read out via the third data channel 53. The copies on the other storage media 41, 42 and 44 remain unused. However, if the currently used storage medium 43 is corrupted or unavailable, a copy on one of the other storage media 41, 42 and 44 may be used to restore the data file 40. In this case the time for restoring the data file 40 increases, since the copy of the complete data file 40 has to be read out again.
During the restore performance in FIG. 7 at first a list of possible data sources is created. Then this list is sorted in such a way, that the first entry in the list is the preferred copy, from which the data file 40 may be restored. While the list is not empty, said first entry is extracted from the list. Then the data file 40 is restored from the copy corresponding to said extracted entry. If the data file 40 is completely restored, the restore performance is stopped. But if not all data could be restored due to an error, the restore performance is continued with the next entry of the list. If the list is empty, an error message is sent.
The conventional method according to FIG. 6 and FIG. 7 requires a lot of time for restoring the data file 40 in general. And in particular, if an error occurs, additional time is required, since the restore performance has to be repeated.
A second example of the conventional method for storing and restoring the data file is schematically shown in FIG. 8 and FIG. 9, respectively.
According to said method different data portions of the data file 40 are distributed on the different storage media 41, 42, 43 and 44. FIG. 8 shows the storing of the data file 40 and FIG. 9 shows the restoring of the data file 40.
In the store performance according to FIG. 8 at first the data file 40 is divided into equal sized data portions 61, 62 and 63. Each of the data partitions 61, 62 and 63 is then associated with one storage medium 41, 42, and 43, respectively. At last the data portions 61, 62 and 63 are moved to the storage media 41, 42, and 43 via the data channels 51, 52 and 53, respectively.
FIG. 9 shows schematically the restoring of the data file 40. At first the storage media 41, 42, and 43, which contains the data portions 61, 62 and 63, respectively, are looked up. Next each data portion 61, 62 and 63 is associated with that location, where the data portion 61, 62 and 63 is to be restored to. At last said different data portions 61, 62 and 63 are read out simultaneously via the data channels 51, 52 and 53, respectively, to restore the data file 40.
If only one of the storage media 41, 42 and 43 in FIG. 9 is corrupted or unavailable, it is not possible to restore the original data file 40. Therefore, there is a need for a method of an improved method of storing and restoring data in a data processing system that addresses the limitations of the above.